/*     */ package dm.jdbc.pool;
/*     */ 
/*     */ import dm.jdbc.driver.DmDriver_bs;
/*     */ import java.io.PrintWriter;
/*     */ import java.io.Serializable;
/*     */ import java.sql.Connection;
/*     */ import java.sql.SQLException;
/*     */ import java.util.Properties;
/*     */ import javax.naming.NamingException;
/*     */ import javax.naming.Reference;
/*     */ import javax.naming.Referenceable;
/*     */ import javax.naming.StringRefAddr;
/*     */ import javax.sql.DataSource;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class DmdbDataSource_bs
/*     */   implements DataSource, Serializable, Referenceable
/*     */ {
/*  39 */   protected static DmDriver_bs DmDriver = null;
/*     */   
/*     */   static {
/*  42 */     try { DmDriver = (DmDriver_bs)Class.forName(
/*  43 */         "dm.jdbc.driver.DmDriver_bs").newInstance();
/*     */     } catch (Exception e) {
/*  45 */       throw new RuntimeException(
/*  46 */         "Can not load Driver class dm.jdbc.driver.DmDriver");
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*  51 */   protected boolean explicitUrl = false;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  56 */   protected String url = null;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  61 */   protected String hostName = "localhost";
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  66 */   protected int port = 5236;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  71 */   protected String databaseName = "";
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  76 */   protected String user = null;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  81 */   protected String password = null;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  86 */   protected PrintWriter logWriter = null;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*  91 */   protected int loginTimeout = 0;
/*     */   
/*  93 */   Properties props = null;
/*     */   private static final long serialVersionUID = 1L;
/*     */   
/*     */   public synchronized Reference getReference() throws NamingException
/*     */   {
/*  98 */     String factoryName = "dm.jdbc.pool.DmdbDataSourceFactory";
/*  99 */     Reference ref = new Reference(getClass().getName(), factoryName, null);
/* 100 */     ref.add(new StringRefAddr("host", getServer()));
/* 101 */     ref.add(new StringRefAddr("port", String.valueOf(getPort())));
/* 102 */     if (this.url != null)
/* 103 */       ref.add(new StringRefAddr("url", this.url));
/* 104 */     ref.add(new StringRefAddr("user", getUser()));
/* 105 */     ref.add(new StringRefAddr("password", this.password));
/* 106 */     ref.add(new StringRefAddr("dbname", getDatabase()));
/* 107 */     return ref;
/*     */   }
/*     */   
/*     */   public String getURL() {
/* 111 */     if (!this.explicitUrl) {
/* 112 */       String builtUrl = "jdbc:dm://";
/*     */       
/* 114 */       String database = getDatabase();
/* 115 */       if ((database == null) || (database == "")) {
/* 116 */         builtUrl = builtUrl + getServer() + ":" + getPort();
/*     */       } else {
/* 118 */         builtUrl = 
/* 119 */           builtUrl + getServer() + ":" + getPort() + "/" + getDatabase();
/*     */       }
/* 121 */       return builtUrl;
/*     */     }
/* 123 */     return this.url;
/*     */   }
/*     */   
/*     */   public void setURL(String url)
/*     */   {
/* 128 */     this.url = url;
/* 129 */     this.explicitUrl = true;
/*     */     
/* 131 */     this.props = DmDriver.parseURL(url, null);
/*     */   }
/*     */   
/*     */   public String getServer() {
/* 135 */     return this.hostName;
/*     */   }
/*     */   
/*     */   public void setServer(String server) {
/* 139 */     this.hostName = server;
/*     */   }
/*     */   
/*     */   public int getPort() {
/* 143 */     return this.port;
/*     */   }
/*     */   
/*     */   public void setPort(int p) {
/* 147 */     this.port = p;
/*     */   }
/*     */   
/*     */   public String getUser() {
/* 151 */     return this.user;
/*     */   }
/*     */   
/*     */   public void setUser(String user) {
/* 155 */     this.user = user;
/*     */   }
/*     */   
/*     */   String getPassword() {
/* 159 */     return this.password;
/*     */   }
/*     */   
/*     */   public void setPassword(String password) {
/* 163 */     this.password = password;
/*     */   }
/*     */   
/*     */   public String getDatabase() {
/* 167 */     return this.databaseName;
/*     */   }
/*     */   
/*     */   public void setDatabase(String database) {
/* 171 */     this.databaseName = database;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Connection getConnection()
/*     */     throws SQLException
/*     */   {
/* 183 */     return getConnection(this.user, this.password);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Connection getConnection(String userID, String password)
/*     */     throws SQLException
/*     */   {
/* 200 */     Properties props = new Properties();
/* 201 */     if (userID == null) {
/* 202 */       userID = "SYSDBA";
/*     */     }
/*     */     
/* 205 */     if (password == null) {
/* 206 */       password = "SYSDBA";
/*     */     }
/* 208 */     props.put("user", userID);
/* 209 */     props.put("password", password);
/*     */     
/* 211 */     return getConnection(props);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   protected Connection getConnection(Properties props)
/*     */     throws SQLException
/*     */   {
/* 225 */     String jdbcUrlToUse = null;
/*     */     
/* 227 */     if (!this.explicitUrl) {
/* 228 */       StringBuffer jdbcUrl = new StringBuffer("jdbc:dm://");
/*     */       
/* 230 */       if (this.hostName != null) {
/* 231 */         jdbcUrl.append(this.hostName);
/*     */       }
/*     */       
/* 234 */       jdbcUrl.append(":");
/* 235 */       jdbcUrl.append(this.port);
/* 236 */       jdbcUrl.append("/");
/*     */       
/* 238 */       if (this.databaseName != null) {
/* 239 */         jdbcUrl.append(this.databaseName);
/*     */       }
/*     */       
/* 242 */       jdbcUrlToUse = jdbcUrl.toString();
/*     */     } else {
/* 244 */       jdbcUrlToUse = this.url;
/*     */     }
/*     */     
/* 247 */     return DmDriver.connect(jdbcUrlToUse, props);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public PrintWriter getLogWriter()
/*     */     throws SQLException
/*     */   {
/* 269 */     return this.logWriter;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setLogWriter(PrintWriter out)
/*     */     throws SQLException
/*     */   {
/* 292 */     this.logWriter = out;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setLoginTimeout(int seconds)
/*     */     throws SQLException
/*     */   {
/* 309 */     this.loginTimeout = seconds;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getLoginTimeout()
/*     */     throws SQLException
/*     */   {
/* 324 */     return this.loginTimeout;
/*     */   }
/*     */ }


/* Location:              D:\Program Files\DBMS_20150813\jdbc\Dm7JdbcDriver17.jar!\dm\jdbc\pool\DmdbDataSource_bs.class
 * Java compiler version: 2 (46.0)
 * JD-Core Version:       0.7.1
 */